package main

import "fmt"

func main() {
	var ch = make(chan int, 20)
	for i := 0; i < 10; i++ {
		ch <- i
	}
	//ch <- 11 //panic: runtime error: send on closed channel
	// close主要用来关闭channel通道其用法为close(channel)，
	// 并且实在生产者的地方关闭channel，而不是在消费者的地方关闭．并且关闭channel后，
	// 便不可再想channel中继续存入数据，但是可以继续从channel中读取数据．例子如下：
	for i := range ch {
		fmt.Println(i)
	}

	// 判断一个channel是否已经被关闭我们可以在读取的时候使用多重返回值的方式
	//	x, ok := <-ch
}
